Virtual applications can be implemented in a series of operations. Initially, an application can be packaged in a packaging environment to generate a virtual application package. Packaging is the process of taking the application and defining its data (such as files and registry entries) and metadata (configuration items such as items in *.ini files and registry settings), so that the package can include the application data and metadata to run in a target environment without actually being installed as a native application. Accordingly, that package can be deployed to a target environment to instantiate a virtual application instance. The virtual application instance can run in a capsule, which includes the application as well as virtual resources to run the application. Such a capsule is referred to herein as a “sandbox”. As used herein, a package includes the information (files, metadata, etc.) that is taken from the packaging of the application, and the package can be deployed to instantiate the application. The package may be split into multiple parts, and some parts may be transmitted in different ways and/or at different times.